package org.example.jiaxiao.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.jiaxiao.entity.Course;
import org.example.jiaxiao.entity.Student;

import java.util.List;
import java.util.Map;

@Mapper
public interface ArrangeMapper {
    /**
     * 从数据库中查询并获取学生信息列表，用于教练管理页面
     * @return 学生信息列表
     */
    List<Student> getStudentinformation();

    /**
     * 获取特定学生的课程信息，用于学员课程信息页面
     * @param studentId 学生ID
     * @return 学生课程详细信息
     */
    Map<String, Object> getStudentCourseInfo(@Param("studentId") Integer studentId);
                        //↑可忽略错误
    /**
     * 接收学生ID和课程ID作为参数，在数据库中执行课程安排操作
     * @param studentId 学生ID
     * @param courseId 课程ID
     * @return 影响的行数
     */
    int arrangeCourse(@Param("studentId") Integer studentId, @Param("courseId") Integer courseId);

    /**
     * 接收筛选参数，在数据库中执行课程填充或筛选相关操作
     * @param filterParams 筛选参数
     * @return 影响的行数
     */
    int FillCourse(Map<String, Object> filterParams);

    /**
     * 获取所有课程列表，用于训练安排下拉选择
     * @return 课程列表
     */
    List<Course> getAllCourses();
}
